package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.UserSearchWord;

import java.util.*;
public class UserSearchWordExample extends SgExample<UserSearchWordExample.Criteria> {
    public static final Class<UserSearchWord> beanClass = UserSearchWord.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn lastSearchTime;
    public static EntityColumn wordId;
    public static EntityColumn mallUserId;
    public static EntityColumn text;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        lastSearchTime = listMap.get("lastSearchTime");
        wordId = listMap.get("wordId");
        mallUserId = listMap.get("mallUserId");
        text = listMap.get("text");
        }

    public UserSearchWordExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected UserSearchWordExample.Criteria createCriteriaInternal() {
        return new UserSearchWordExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeIsNull() {
            return isNull(lastSearchTime);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeIsNotNull() {
            return isNotNull(lastSearchTime);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeEqualTo(Date value) {
            return equalTo(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeNotEqualTo(Date value) {
            return notEqualTo(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeGreaterThan(Date value) {
            return greaterThan(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeLessThan(Date value) {
            return lessThan(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(lastSearchTime, value);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeIn(List<Date> values) {
            return in(lastSearchTime, values);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeNotIn(List<Date> values) {
            return notIn(lastSearchTime, values);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeBetween(Date value1, Date value2) {
            return between(lastSearchTime, value1, value2);
        }

        public UserSearchWordExample.Criteria andLastSearchTimeNotBetween(Date value1, Date value2) {
            return notBetween(lastSearchTime, value1, value2);
        }
        public UserSearchWordExample.Criteria andWordIdIsNull() {
            return isNull(wordId);
        }

        public UserSearchWordExample.Criteria andWordIdIsNotNull() {
            return isNotNull(wordId);
        }

        public UserSearchWordExample.Criteria andWordIdEqualTo(Long value) {
            return equalTo(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdNotEqualTo(Long value) {
            return notEqualTo(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdGreaterThan(Long value) {
            return greaterThan(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdLessThan(Long value) {
            return lessThan(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(wordId, value);
        }

        public UserSearchWordExample.Criteria andWordIdIn(List<Long> values) {
            return in(wordId, values);
        }

        public UserSearchWordExample.Criteria andWordIdNotIn(List<Long> values) {
            return notIn(wordId, values);
        }

        public UserSearchWordExample.Criteria andWordIdBetween(Long value1, Long value2) {
            return between(wordId, value1, value2);
        }

        public UserSearchWordExample.Criteria andWordIdNotBetween(Long value1, Long value2) {
            return notBetween(wordId, value1, value2);
        }
        public UserSearchWordExample.Criteria andMallUserIdIsNull() {
            return isNull(mallUserId);
        }

        public UserSearchWordExample.Criteria andMallUserIdIsNotNull() {
            return isNotNull(mallUserId);
        }

        public UserSearchWordExample.Criteria andMallUserIdEqualTo(Long value) {
            return equalTo(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdNotEqualTo(Long value) {
            return notEqualTo(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdGreaterThan(Long value) {
            return greaterThan(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdLessThan(Long value) {
            return lessThan(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(mallUserId, value);
        }

        public UserSearchWordExample.Criteria andMallUserIdIn(List<Long> values) {
            return in(mallUserId, values);
        }

        public UserSearchWordExample.Criteria andMallUserIdNotIn(List<Long> values) {
            return notIn(mallUserId, values);
        }

        public UserSearchWordExample.Criteria andMallUserIdBetween(Long value1, Long value2) {
            return between(mallUserId, value1, value2);
        }

        public UserSearchWordExample.Criteria andMallUserIdNotBetween(Long value1, Long value2) {
            return notBetween(mallUserId, value1, value2);
        }
        public UserSearchWordExample.Criteria andTextIsNull() {
            return isNull(text);
        }

        public UserSearchWordExample.Criteria andTextIsNotNull() {
            return isNotNull(text);
        }

        public UserSearchWordExample.Criteria andTextEqualTo(String value) {
            return equalTo(text, value);
        }

        public UserSearchWordExample.Criteria andTextNotEqualTo(String value) {
            return notEqualTo(text, value);
        }

        public UserSearchWordExample.Criteria andTextGreaterThan(String value) {
            return greaterThan(text, value);
        }

        public UserSearchWordExample.Criteria andTextGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(text, value);
        }

        public UserSearchWordExample.Criteria andTextLessThan(String value) {
            return lessThan(text, value);
        }

        public UserSearchWordExample.Criteria andTextLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(text, value);
        }

        public UserSearchWordExample.Criteria andTextLike(String value) {
            return like(text, value);
        }

        public UserSearchWordExample.Criteria andTextNotLike(String value) {
            return notLike(text, value);
        }

        public UserSearchWordExample.Criteria andTextIn(List<String> values) {
            return in(text, values);
        }

        public UserSearchWordExample.Criteria andTextNotIn(List<String> values) {
            return notIn(text, values);
        }

        public UserSearchWordExample.Criteria andTextBetween(String value1, String value2) {
            return between(text, value1, value2);
        }

        public UserSearchWordExample.Criteria andTextNotBetween(String value1, String value2) {
            return notBetween(text, value1, value2);
        }
    }
}